Estimation of a multipath signal in a wireless communication system

ABSTRACT

Described herein is a method and system for estimating a time-varying multipath communication channel. The system comprises a receiver for receiving a signal comprising a data packet transmitted over the multipath communication channel. The system also comprises a frequency-domain channel estimator that generates a frequency-domain channel estimate based on the received signal. The system further comprises a time-domain channel modeller that receives the frequency-domain channel estimate and generates an estimate of parameters in a time-domain model of the multipath communication channel. The model characterises the multipath communication channel as a delay line with a plurality of taps, each tap having tap parameters defining a delay, a Doppler and a gain for the tap. The tap parameters are constant over the data packet.

FIELD OF THE INVENTION

The present invention relates to the field of wireless communications. In particular the present invention relates to joint delay and Doppler frequency estimation from a received signal after the signal has been transmitted through a multipath channel.

BACKGROUND OF THE INVENTION

Wireless communication systems may be represented in terms of a transmitter 100 and receiver 104, separated by a channel 102, as shown in FIG. 1. The transmitter transforms the data into a signal suitable for transmission over the channel. For the purposes of determining the transmitted data, the goal of the receiver 104 is to remove the effects of the channel distortions from the signal and to obtain an estimate of the data.

The channel 102 represents the effects induced by the environment surrounding the wireless communications system. The channel 102 may distort the transmitted signal in some way. Channel distortions may include amplitude distortions, frequency offsets, phase offsets, Doppler effects, distortions resulting from multipath channels, additive noise or interference.

The receiver 104 may include a channel estimator. The channel estimator may observe a received signal that has been distorted by transmission over the channel 102, and generate a channel estimate based upon this observation.

Reference to any prior art in the specification is not, and should not be taken as, an acknowledgement or any form of suggestion that this prior art forms part of the common general knowledge in Australia or any other jurisdiction or that this prior art could reasonably be expected to be ascertained, understood and regarded as relevant by a person skilled in the art.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention there is provided a method of estimating a time-varying multipath communication channel, the method comprising:

-   -   receiving a signal comprising a data packet transmitted over the         multipath communication channel; and, from the received signal     -   generating an estimate of parameters in a model of the multipath         communication channel, the model characterising the multipath         communication channel as a delay line with a plurality of taps,         each tap having tap parameters for estimation defining a delay,         a Doppler and a complex gain for the tap,     -   wherein the estimated tap parameters are constant for the data         packet.

The data packet may be an orthogonal frequency division multiplex (OFDM) packet.

According to another aspect of the present invention there is provided a method of estimating a time-varying multipath communication channel, the method comprising:

-   -   receiving a frequency-domain estimate of the multipath         communication channel, the frequency-domain estimate deriving         from a data packet transmitted over the multipath communication         channel; and, based on the frequency-domain estimate     -   generating an estimate of parameters in a time-domain model of         the multipath communication channel, the time-domain model         characterising the multipath communication channel as a delay         line with a plurality of taps, each tap having tap parameters         defining a delay, a Doppler and a complex gain for the tap,     -   wherein the estimated tap parameters are constant for the data         packet.

The method of generating estimates of the model parameters may comprise:

-   -   defining a search window for the delay and Doppler tap         parameters;     -   dividing the search window into a plurality of bins;     -   determining a correlator metric for the respective bins; and     -   identifying one or more peaks in the determined correlator         metrics; and     -   outputting estimates of the delay and Doppler tap parameters         based on the identified peaks.

The method of generating estimates of the model parameters may comprise;

-   -   receiving a channel estimate;     -   estimating a delay and Doppler tap parameter for a detected         multipath component;     -   performing a least-squares estimation to generate an estimate of         a complex gain tap parameter for the detected tap; and     -   subtracting the detected multipath component from the channel         estimate, using the estimated delay, Doppler and complex gain         tap parameters to quantify the detected multipath component.

The method may be repeated to iteratively remove detected multipath components from the channel estimate.

The method of generating estimates of the model parameters may comprise a method of refining estimates, comprising:

-   -   receiving an initial channel estimate;     -   receiving a set of estimated tap parameters for a plurality of         multipath components;     -   subtracting all of the plurality of multipath components from         the initial channel estimate except for a currently-considered         multipath component;     -   generating a refined estimate of the delay tap parameter and the         Doppler tap parameter for the currently-considered multipath         component;     -   performing a least-squares estimation to generate a refined         estimate of the complex gain tap parameter for the         currently-considered multipath component.

The method of refining estimates may be repeated to generate refined estimates for a plurality of multipath components.

Also disclosed is an apparatus to perform the methods described in the preceding paragraphs.

The invention also resides in instructions executable by an apparatus to implement the described methods and in such instructions when stored in a storage medium readable by the apparatus.

According to a further aspect of the present invention there is provided a system for estimating a time-varying multipath communication channel, the system comprising:

-   -   a receiver for receiving a signal comprising a data packet         transmitted over the multipath communication channel;     -   a frequency-domain channel estimator that generates a         frequency-domain channel estimate based on the received signal;         and     -   a time-domain channel modeller that receives the         frequency-domain channel estimate and generates an estimate of         parameters in a time-domain model of the multipath communication         channel, the model characterising the multipath communication         channel as a delay line with a plurality of taps, each tap         having tap parameters defining a delay, a Doppler and a complex         gain for the tap,     -   wherein the tap parameters are constant over the data packet.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will now be described with reference to the drawings, in which:

FIG. 1 is a schematic drawing of a communications system;

FIG. 2 illustrates an example of an environment with a two-path channel;

FIG. 3 is an example of a time domain channel having two paths corresponding to the environment of FIG. 2;

FIG. 4 is a schematic representation of an embodiment of a system for processing a received signal and estimating a channel model;

FIG. 5A is a magnitude contour plot of an ambiguity function of an OFDM system with PSK modulation and a signal having 90 symbols;

FIG. 5B is a magnitude contour plot of an ambiguity function of an OFDM system with PSK modulation and a signal having 242 symbols;

FIG. 6A is a flow diagram of a first method for joint delay/Doppler estimation;

FIG. 6B is a flow diagram of an iterative method for joint delay/Doppler estimation via successive multipath cancellation;

FIG. 6C is a flow diagram of an iterative method for refining a set of multipath estimates;

FIG. 7 shows a performance evaluation of the methods of FIG. 6 using Monte Carlo simulations with a single tap; and

FIG. 8 shows a performance evaluation of the methods of FIG. 6 using Monte Carlo simulations with a three tap channel.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Embodiments of an estimator are described for the estimation of multipath components when a signal is transmitted in a mobile environment. The estimator may be used for doubly dispersive channels, where the frequency selectivity of the channel changes with time.

The described techniques have potential application to wireless communications systems, e.g. DVB-T, DVB-H, IEEE 802.11, IEEE 802.16, 3GPP2, Dedicated Short Range Communications (DSRC), Communications Access for Land Mobiles (CALM), and proprietary systems.

An electromagnetic signal transmitted in a mobile environment is scattered by objects in the environment. The receiver 104, which may also possess a certain velocity relative to the transmitter 100, receives the superimposition of delayed and frequency-shifted versions of the transmitted signal caused by reflections from the objects. Each of these versions of the transmitted signal is referred to as a multipath component, a multipath tap, a channel tap, and/or a tap and is represented by P in the equations herein. This type of channel 102 is commonly referred to as a multipath channel. The delay, also referred to as time of arrival (ToA), of each multipath component is caused by the time it takes for the signal to travel the path distance and is represented by τ. The frequency offset, also referred to as Doppler frequency and/or Doppler, is caused by the Doppler effect and is represented by ν.

The estimation of the delay and/or Doppler of each multipath component may be output to a user interface such as a graphical display and/or stored in memory for use in radar applications for target detection and localisation or for channel characterisation in signal communication. The estimation may be provided to a radar application for target detection and localisation, for example in a digital form for use by radar application software. The estimation may be provided to a signal communication application for channel characterisation. The estimation may be used in a signal communication application for the development of efficient and reliable communication schemes.

If the coherence bandwidth of the multipath is small compared with the bandwidth of the transmitted signal, the resulting channel is frequency selective. Orthogonal frequency division multiplexing (OFDM) is a transmission strategy specifically designed to combat frequency-selective channels with relatively low receiver complexity. In OFDM, the signal bandwidth is divided into several non-overlapping (hence orthogonal) narrowband subcarriers, such that each subchannel is frequency non-selective.

FIG. 2 shows an example of an environment with an inflector 200 inducing a two path channel between the transmitter 100 and receiver 104, where:

-   -   T is a point representing the position of the transmitter 100;     -   R is a point representing the position of the receiver 104; and     -   Q is a point representing the position of the signal inflector         200.

FIG. 3 shows an example of a channel 102 in the time domain (with normalised power delay profile) corresponding to the environment of FIG. 2. The direct path TR corresponds to channel tap h₁ 700 at time t₁. The inflected path via inflector 200 corresponds to channel tap h₂ 702 at delay t₂. In this example h₂ 702 has lower power relative to tap h₁ 700 due to increased propagation loss (as the inflected path is longer than the direct path) and attenuation at the point of inflection 200. The time difference between the two channel taps is Δt₁₂=t₂−t₁. The instantaneous phase, and rate of change of phase, of taps h₁ 700 and h₂ 702 may also differ.

As seen in FIG. 4, a transmitted signal 106 is subjected to the channel 102 induced by the environment. The received signal is collected at the receive antenna 108, and input to the receiver 104. The receiver 104 processes the received signal to determine the transmitted data. FIG. 4 shows receiver processing in the context of the channel estimation and may omit details pertaining to the common operation of a receiver 104 apparent to those skilled in the art. For example, the receiver 104 may also make the transmitted data available to other components of a communication system.

The receiver 104 outputs receiver information, for example received signal samples, to a frequency-domain channel estimator 110 that provides an initial channel. estimate 112 in the frequency domain as the channel varies over the duration of a packet. Our previous commonly-assigned International (PCT) Applications, PCT/2006/AU001201, PCT/2007/AU000231 and PCT/2007/AU001506 published under WIPO publication numbers WO2007022564 WO2007095697, WO2008040088 (respectively), the contents of which are incorporated herein by reference, disclose systems and methods for the channel estimator 110.

The frequency domain channel estimator 110 is shown as a separate functional module to the receiver 104, but in practice the channel estimator 110 may be a component of the receiver 104.

The frequency-domain channel estimate 112 is provided to a time-domain channel modeller 114 that estimates time domain parameters including the delay, complex gain and Doppler for each multipath tap. The methods used in the time-domain channel modeller are described in more detail below.

The time-domain channel modeller 114 may be a functional module incorporated in the receiver 104. Alternatively, the modeller 114 may be implemented as a separate unit in data communication with the receiver 104. The modeller 114 may also be run off-line, that is, using data that was received earlier by receiver 104.

The functional modules described herein, including the frequency-domain channel estimator 110 and the time-domain channel modeller 114, may be implemented in hardware, for example application-specific integrated circuits (ASICs). Other hardware implementations include, but are not limited to, field-programmable gate arrays (FPGAs), structured ASICs, digital signal processors and discrete logic. Alternatively, the functional modules may be implemented as software, such as one or more application programs executable within a computer system. The software may be stored in a computer-readable medium and be loaded into a computer system from the computer readable medium for execution by the computer system. A computer readable medium having a computer program recorded on it is a computer program product. Examples of such media include, but are not limited to CD-ROMs, hard disk drives, a ROM or integrated circuit. Program code may also be transmitted via computer-readable transmission media, for example a radio transmission channel or a networked connection to another computer or networked device.

The methods used in the modeller 114 use the system model described in the following section.

1. System Model

Consider a K subcarrier OFDM system, where packets of length L OFDM symbols are transmitted. Let X_(l,k) ∈χ denote the symbol of subcarrier k of OFDM symbol l, where χ⊂

is an arbitrary complex constellation. Each symbol is drawn at random, independently and uniformly from χ and has unit average energy, i.e.

[|X_(l,k)|²]=1 and

[X_(l,k)X*_(n,m)]=0 for any n≠l or m≠k. The receiver is assumed to have complete knowledge of the transmitted symbols X_(l,k), e.g. a pilot signal, or from the feedback of decoder decisions.

We let χ(t)=Σ_(t=0) ^(L−1) χ₁(t) denote the continuous-time transmitted OFDM signal, where

$\begin{matrix} {{{x_{l}(t)} = {\frac{1}{\sqrt{KL}}{\sum\limits_{k = {- {\lfloor{K/2}\rfloor}}}^{{\lceil{K/2}\rceil} - 1}\; {X_{l,k}^{{j2\pi}\; {{k{({t - T_{cp}})}}/T}}{w\left( {t - {lT}_{d}} \right)}}}}},} & (1) \end{matrix}$

is the lth OFDM symbol, T_(d) is the OFDM symbol duration (seconds). 1/T is the subcarrier spacing (Hz). T_(cp)=T_(d)−T_(cp) is the cyclic prefix duration (seconds). and w(t) is a windowing function such that

$\begin{matrix} {{w(t)} = \left\{ \begin{matrix} {\overset{\sim}{w}(t)} & {0 \leq t \leq T_{d}} \\ 0 & {{otherwise},} \end{matrix} \right.} & (2) \end{matrix}$

and ∫₀ ^(T) ^(d) |w(t)|²dt=1. Hence the transmitted signal has unit energy, i.e.

[∫_(−∞) ^(∞)|χ(t)|² dt]=1. The most simplest windowing function is when {tilde over (w)}(t)=1/√{square root over (T_(d))}. Note that the requirement that w(t)=0 for t∉(0, T_(d)) is not necessarily required, but we assume this for simplicity. In practice, (1) is implemented via the inverse discrete Fourier transform (IDFT).

We assume transmit and receive filter responses g_(Tx)(t) and g_(Rx)(t) respectively, and a doubly dispersive channel model with P multipath components,

$\begin{matrix} {{c\left( {t,\tau} \right)} = {\sum\limits_{p = 1}^{P}{a_{p}^{{- j}\; 2\pi \; v_{p}t}{{\delta \left( {\tau - \tau_{p}} \right)}.}}}} & (3) \end{matrix}$

where α_(p), ν_(p) and τ_(p) denote the pth complex gain, Doppler and delay respectively. Note that these parameters are assumed to he constant over the L symbols of the OFDM packet. Hence, we write the overall channel response as

$\begin{matrix} {{{h\left( {t,\tau} \right)} = {{\left( {g*c} \right)\left( {t,\tau} \right)} = {\sum\limits_{p = 1}^{P - 1}{a_{p}^{{- j}\; 2\pi \; v_{p}t}{g\left( {\tau - \tau_{p}} \right)}}}}},} & (4) \end{matrix}$

where g(t)=(g_(Tx)*g_(Rx)) is the combined transmit/receive filter response and * denotes the convolution.

An ambiguity function for the transmitted signal x(t) is defined as:

A _(χ)(τ, ν)=∫_(−∞) ^(∝)χ(t)χ*(t−τ)c ^(−j2πνt) dt.  (5)

For the OFDM signal defined in (1), the ambiguity function can be written as follows.

$\begin{matrix} {{A_{x}\left( {\tau,v} \right)} = {\frac{1}{KL}{\sum\limits_{l,k,l^{\prime},k^{\prime}}{X_{l,k}X_{l^{\prime},k^{\prime}}^{*}^{{- j}\; 2{\pi {({k - k^{\prime}})}}{T_{cp}/T}}^{j\; 2\pi \; k^{\prime}{\tau/T}}^{{- j}\; 2\pi \; v\; T_{A}l}{{A_{w}\left( {{\tau + {\left( {l^{\prime} - l} \right)T_{d}}},{v + {\left( {k^{\prime} - k} \right)/T}}} \right)}.\mspace{79mu} {where}}}}}} & (6) \\ {\mspace{79mu} {{A_{w}\left( {\tau,v} \right)} = {\int_{- \infty}^{\infty}{{w(t)}{w^{*}\left( {t - \tau} \right)}^{{- j}\; 2\pi \; {vt}}{t}}}}} & (7) \end{matrix}$

is the ambiguity function of w(t). In practice, w(t) is usually designed such that A_(w)(τ,ν)≈0 for |τ|>T_(cp) and |ν|>1/T, which implies

$\begin{matrix} {{A_{x}\left( {\tau,v} \right)} = {\frac{A_{w}\left( {\tau,v} \right)}{KL}{\sum\limits_{k,l}{{X_{t,k}}^{2}^{j\; 2\pi \; {{kr}/T}}{^{{- j}\; 2\pi \; {vT}_{d}l}.}}}}} & (8) \end{matrix}$

For example, for the special case of ŵ(t)=1/√{square root over (T_(d))}, then we have

$\begin{matrix} {{A_{w}\left( {\tau,v} \right)} = \left\{ \begin{matrix} {\left( {1 - \frac{\tau}{T_{d}}} \right)^{{- j}\; \pi \; {v{({T_{d} + \tau})}}}\sin \; {c\left( {\pi \; {v\left( {T_{d} - \tau} \right)}} \right)}} & {0 \leq \tau < T_{d}} \\ {\left( {1 + \frac{\tau}{T_{d}}} \right)^{{- j}\; \pi \; {v{({T_{d} + \tau})}}}\sin \; {c\left( {\pi \; {v\left( {T_{d} + \tau} \right)}} \right)}} & {{- T_{d}} \leq \tau \leq 0} \\ 0 & {{otherwise}.} \end{matrix} \right.} & (9) \end{matrix}$

In practice OFDM systems are designed such that the cyclic prefix is greater than the delay spread of the channel. i.e. we are primarily concerned with 0<τ<<T_(d). In addition, Doppler frequencies induced by the mobile channel are typically |ν|<<1/T. Under these conditions. A_(w)(τ,ν)≈1 and the ambiguity function is approximately

$\begin{matrix} {{A_{x}\left( {\tau,v} \right)} \approx {\frac{1}{KL}{\sum\limits_{k,l}{{X_{l,k}}^{2}^{j\; 2\pi \; k\; {\tau/T}}{^{{- j}\; 2\; \pi \; {vT}_{d}l}.}}}}} & (10) \end{matrix}$

For the special case when |X_(l,k)|=1, i.e. PSK modulation, then the ambiguity function further simplifies to

$\begin{matrix} {{A_{x}\left( {\tau,v} \right)} \approx {\frac{1}{KL}^{{- j}\; 2{\pi {\lbrack{K/2}\rbrack}}{\tau/T}}^{{{- j}\; {\pi {({L - 1})}}v\; T_{d}})}\frac{\sin \left( {\pi \; \tau \; {K/T}} \right)}{\sin \left( {\pi \; {\tau/T}} \right)}{\frac{\sin \left( {\pi \; {vT}_{d}L} \right)}{\sin \left( {\pi \; {vT}_{d}} \right)}.}}} & (11) \end{matrix}$

From this expression it is apparent that the sin/sin terms will introduce sidelobes, which are de-coupled in time and frequency. As an example, the ambiguity function of the IEEE 802.11 standard is plotted in FIG. 5A, showing a 64 subcarrier system with 52 active subcarriers and zero DC subcarrier, T_(d)=8 μsec and T=6.4 μsec. In this example, K=52 and the summation terms in (10) range from k=−26, . . . −1 to k=1, . . . , 26. For OFDM systems where there is no DC subcarrier, (11) becomes,

$\begin{matrix} {{A_{x}\left( {\tau,v} \right)} \approx {\frac{2^{{- j}\; {\pi {({L - 1})}}{l/T_{d}}}}{KL}{\cos \left\lbrack {{\pi \left( {{K/2} + 1} \right)}\left( {\tau/T} \right)} \right\rbrack}\frac{\sin \left( {{\pi\tau}\; {K/\left( {2T} \right)}} \right)}{\sin \left( {{\pi\tau}/T} \right)}{\frac{\sin \left( {\pi \; {vT}_{d}L} \right)}{\sin \left( {\pi \; {vT}_{d}} \right)}.}}} & (12) \end{matrix}$

The vertical axis represents delay and the horizontal axis represents Doppler. FIG. 5B shows the ambiguity function when the number of symbols, L, is increased to 242. It may be seen that increasing L improves the Doppler resolution but not the delay resolution, which is dependent only on K and the subcarrier spacing (1/T).

In practice the OFDM signal of (1) is filtered and upconverted in transmitter 100, transmitted through multipath channel 102, down-converted and receive filtered in receiver 104. Assuming the up/down conversion process is done perfectly, the received continuous-time baseband signal may be written as:

$\begin{matrix} \begin{matrix} {{y(t)} = {{\sum\limits_{l^{\prime}}{{x_{l^{\prime}}(t)}*{h\left( {t,\tau} \right)}}} + {{\delta (t)}*{g(t)}}}} \\ {= {{\sum\limits_{l^{\prime}}{\int_{- \infty}^{\infty}{{x_{l^{\prime}}\left( {t - \tau} \right)}{h\left( {t,\tau} \right)}{\tau}}}} + {z(t)}}} \\ {= {\frac{1}{\sqrt{{KLT}_{d}}}{\sum\limits_{l^{\prime},k^{\prime}}{X_{l^{\prime},k^{\prime}}{\int_{- \infty}^{\infty}^{j\; \pi \; {{k^{\prime}{({t - \tau - T_{cp}})}}/T}}}}}}} \\ {{{{w\left( {t - \tau - {l^{\prime \;}T_{d}}} \right)}{h\left( {t,\tau} \right)}{\tau}} + {z(t)}}} \\ {= {\frac{1}{\sqrt{{KLT}_{d}}}{\sum\limits_{l^{\prime},k^{\prime},p}{a_{p}X_{l^{\prime},k^{\prime}}{\int_{- \infty}^{\infty}^{j\; \pi \; {{k^{\prime}{({t - \tau - T_{cp}})}}/T}}}}}}} \\ {{{{w\left( {t - \tau - {l^{\prime}T_{d}}} \right)}^{{- j}\; 2\pi \; v_{p}t}{g\left( {\tau - \tau_{p}} \right)}{\tau}} + {z(t)}}} \\ {= {\frac{1}{\sqrt{{KLT}_{d}}}{\sum\limits_{l^{\prime},k^{\prime},p}{a_{p}X_{l^{\prime},k^{\prime}}{\Phi_{l^{\prime},k^{\prime}}\left( {t,\tau_{p}} \right)}}}}} \\ {{{^{j\; 2\pi \; {{k^{\prime}{({t - T_{cp}})}}/T}}^{{- j}\; 2\pi \; v_{p}t}} + {z(t)}}} \end{matrix} & (13) \end{matrix}$

where {tilde over (z)}(t) is an AWGN process and

φ_(l,k)(t,τ _(p))=∫_(−∞) ^(∞) g(τ−τ_(p))w(t−τ−lT _(d))e ^(−j2πkτ/T) dτ  (14)

To simplify (14) let

G(f)=

{g(t)}

∫_(−∞) ^(∞) g(t)e ^(−j2πf1) dt  (15)

W(f)=

{w(t)}

∫_(−∞) ^(∞) w(t)e ^(−j2πf2) dt  (16)

The Fourier transform of convolution in (14) is the same as the multiplication of the constituent Fourier transform. i.e.

$\begin{matrix} \begin{matrix} {{\mathcal{F}\left\{ {\Phi_{l,k}\left( {t,\tau_{p}} \right)} \right\}} = {\mathcal{F}\left\{ {{g\left( {t - \tau_{p}} \right)}^{{- j}\; 2\pi \; {{kt}/T}}} \right\} \mathcal{F}\left\{ {w\left( {t - {lT}_{d}} \right)} \right\}}} \\ {= {^{{- j}\; 2\pi \; {\tau_{p}{({f + {k/T}})}}}^{{- j}\; 2\pi \; {lT}_{d}f}{G\left( {f + {k/T}} \right)}{{W(f)}.}}} \end{matrix} & (17) \end{matrix}$

In practical systems, G(f) has a bandwidth that exceeds the bandwidth of the signal, i.e. K/T. In addition W(f) has a bandwidth of approximately 1/T_(d). Assuming ideal filtering, then G(f+k/T)=1, −F_(s)/2−k/T<f<F_(s)/2−k/T and zero otherwise. e.g. g(t)=sinc(πtF_(s)), where F_(s)>K/T is the bandwidth of the filter. Hence we may write

{φ_(l,k)(t,τ _(p))}≈e ^(−j2πT) ^(p) ^((f+k/T)) ^(e) ^(−j2π/T) ^(d) ^(f) W(f).  (18)

and therefore

φ_(l,k)(t,τ _(p))≈e ^(−j2πkτ) ^(p) ^(/T) w(t−τ _(p) −lT _(d)).  (19)

The received signal can now be written as

$\begin{matrix} {{y(t)} = {{\frac{1}{\sqrt{KL}}{\sum\limits_{l^{\prime},k^{\prime},p}{a_{p}X_{p,k^{\prime}}^{j\; 2\pi \; {{k^{\prime}{({t - T_{cp}})}}/T}}^{{{- j}\; 2\pi \; v_{p}l}\;}^{{- j}\; 2\pi \; k^{\prime}{\tau_{p}/T}}{w\left( {t - \tau_{p} - {l^{\prime}T_{d}}} \right)}}}} + {z(t)}}} & (20) \end{matrix}$

The receiver performs the matched filter to the transmitted sinusoids (less the cyclic prefix),

$\begin{matrix} {{Y_{l,k} = {{\frac{1}{\sqrt{KL}}{\int_{T_{cp} + {lT}_{d}}^{{({l + 1})}T_{d}}{{y(t)}{w^{*}\left( {t - {lT}_{d}} \right)}^{{- j}\; 2\pi \; {{k{({t - T_{cp}})}}/T}}{t}}}} = {{{\frac{1}{KL}{\sum\limits_{l^{\prime},k^{\prime},p}{a_{p}X_{l^{\prime},k^{\prime}}{\int_{T_{cp} + {lTd}}^{{({l + 1})}T_{d}}{^{j\; 2\pi \; {k^{\prime}({t - {T_{cp}/T}}}}^{{- j}\; 2\pi \; v_{p}t}^{{- j}\; 2\pi \; k^{\prime}{\tau_{p}/T}} \times {w\left( {t - \tau_{p} - {l^{\prime}T_{d}}} \right)}{w^{*}\left( {t - {lT}_{d}} \right)}^{{- j}\; 2\pi \; {{k{({t - T_{cp}})}}/T}}{t}}}}}} + Z_{l,k}} = {{{\frac{1}{KL}{\sum\limits_{k^{\prime},p}^{\;}{a_{p}X_{l,k^{\prime}}{\int_{T_{cp} + {lT}_{d}}^{{({l + 1})}T_{d}}{^{j\; 2\pi \; {{k^{\prime}{({t - T_{cp}})}}/T}}^{{- j}\; 2\pi \; v_{p}t}^{{- j}\; 2\pi \; k^{\prime}{\tau_{p}/T}} \times {w\left( {t - \tau_{p} - {lT}_{d}} \right)}{w^{*}\left( {t - {lT}_{d}} \right)}^{{- j}\; 2\pi \; {{k{({t - T_{cp}})}}/T}}{t}}}}}} + Z_{l,k}} = {{{\frac{1}{KL}{\sum\limits_{k^{\prime},p}{a_{p}X_{l,k^{\prime}}^{{- j}\; 2\pi \; k^{\prime}{\tau_{p}/T}} \times {\int_{T_{cp} + {lT}_{d}}^{{({l + 1})}T_{d}}{{w\left( {t - \tau_{p} - {lT}_{d}} \right)}{w^{*}\left( {t - {lT}_{d}} \right)}^{j\; 2{\pi {({k^{\prime} - k})}}{{({t - T_{cp}})}/T}}^{{- j}\; 2\pi \; v_{p}t}{t}}}}}} + Z_{l,k}} = {{{\frac{1}{KL}{\sum\limits_{k^{\prime},p}{a_{p}X_{l,k}^{{- j}\; 2\pi \; k^{\prime}{\tau_{p}/T}} \times {\int_{T_{cp}}^{T_{d}}{{w\left( {t - \tau_{p}} \right)}{w^{*}(t)}^{j\; 2\pi \; {({k^{\prime} - k})}{{({t + {lT}_{d} - T_{cp}})}/T}}^{{- j}\; 2\pi \; {v_{p}{({t + {lT}_{d}})}}}{t}}}}}} + Z_{l,k}} = {{{\frac{1}{KL}{\sum\limits_{k^{\prime},p}{a_{p}X_{l,k^{\prime}}^{{- j}\; 2\pi \; k^{\prime}{\tau_{p}/T}}^{j\; 2{\pi {({k^{\prime} - k})}}{{({{lT}_{d} - T_{cp}})}/T}}^{{- j}\; 2\pi \; v_{p}T_{d}l} \times {\int_{T_{cp}}^{T_{d}}{{w\left( {t - \tau_{p}} \right)}{w^{*}(t)}^{j\; 2{\pi {({k^{\prime} - k})}}{t/T}}^{{- j}\; 2\pi \; v_{p}t}{t}}}}}} + Z_{l,k}} = {{\frac{1}{KL}{\sum\limits_{k^{\prime},p}{X_{l,k^{\prime}}a_{p}^{{- j}\; 2\pi \; k^{\prime}{\tau_{p}/T}}^{j\; 2\pi \; {({k^{\prime} - k})}{{({{lT}_{d} - T_{cp}})}/T}}^{{- j}\; 2\pi \; v_{p}T_{d}l}{{\hat{A}}_{w}\left( {\tau_{p},{v_{p} + {\left( {k - k^{\prime}} \right)/T}}} \right)}}}} + Z_{l,k}}}}}}}}},\mspace{79mu} {where}} & (21) \\ {\mspace{79mu} {{{{\hat{A}}_{w}\left( {\tau,v} \right)} = {\int_{T_{cp}}^{T_{d}}{{w\left( {t - \tau} \right)}{w^{*}(t)}^{{- j}\; 2\pi \; {vt}}{t}}}},}} & (22) \end{matrix}$

which resembles the ambiguity function of w(t). The second line of (21) follows since the integral is approximately zero for any l′ not equal to l. Typically, w(t) has a bandwidth of 1/T_(d), and hence Â_(w)(τ_(p), ν_(p)+(k−k′)/T)≈0 for k′≠k. Therefore,

$\begin{matrix} {Y_{l,k} = {{\frac{1}{KL}{\sum\limits_{p}{a_{p}X_{l,k}^{{- j}\; 2\pi \; k\; {\tau_{p}/T}}^{{- j}\; 2\pi \; v_{p}T_{d}l}{{\hat{A}}_{w}\left( {\tau_{p},v_{p}} \right)}}}} + {Z_{l,k}.}}} & (23) \end{matrix}$

For the special case of ŵ(t)=1/√{square root over (T_(d))}, i.e. a rectangular window function, then

$\begin{matrix} {{{\hat{A}}_{w}\left( {\tau,v} \right)} = {{\frac{T}{T_{d}}^{{- j}\; \pi \; {v{({T_{d} + T_{cp}})}}}\sin \; {c\left( {\pi \; {vT}} \right)}\mspace{14mu} 0} < \tau < T_{cp}}} & (24) \end{matrix}$

In practice, 0<max_(p) τ_(p)<T_(cp) and max_(p) ν_(p)<<1/T. Therefore

${{\hat{A}}_{w}\left( {\tau_{p},v_{p}} \right)} \approx {\frac{T}{T_{d}}^{{- j}\; \pi \; {v{({T_{d} + T_{cp}})}}}}$

and hence (23) simplifies to

$\begin{matrix} {{Y_{l,k} = {{X_{l,k}{\sum\limits_{p = 1}^{P}{{\overset{\sim}{a}}_{p}^{{- j}\; 2\pi \; v_{p}T_{d}l}^{{- j}\; 2\pi \; k\; {\tau_{p}/T}}}}} + Z_{l,k}}},{{{where}\mspace{14mu} {\overset{\sim}{a}}_{p}} = {\frac{1}{KL}\frac{T}{T_{d}}^{{- j}\; \pi \; {v_{p}{({T_{d} + T_{cp}})}}}{a_{p}.}}}} & (25) \end{matrix}$

2. Joint Delay/Doppler Estimation

It is assumed that the receiver 104 has perfect knowledge of the transmitted symbols X_(l,k). This may, for example, result from the use of pilot symbols or the feedback of correct decoder decisions in the receiver. As a result, we may assume the modeller 114 has perfect knowledge of the channel gains H_(l,k):

Y _(l,k) =H _(l,k) X _(l,k) +Z _(l,k).  (26)

where from (25),

$\begin{matrix} {H_{l,k} = {\sum\limits_{p = 1}^{P}{{\overset{\sim}{a}}_{p}^{{- j}\; 2\pi \; v_{p}T_{d}l}^{{- j}\; 2\pi \; k\; {\tau_{p}/T}}}}} & (27) \end{matrix}$

Hence the problem is to estimate P, α_(p), τ_(p) and ν_(p) for p=1, . . . P from H_(l,k), or its noisy estimate.

Equation (27) is simply the superimposition of 2-dimensional exponential signals.

Two estimation algorithms are described below: the first is based on a conventional correlator approach; the second is based on a matching pursuit or basis pursuit algorithm which takes advantage of the sparse nature of the channel taps.

2.1. Method 600—Correlator Approach

A first method 600 for the time domain channel modeller is shown in FIG. 6A. Method 600 is based on a correlator approach and may for example be implemented as software instructions running on the modeller 114.

The input is the frequency domain channel estimate 112. In step 602 an initial delay search window and initial Doppler search window are defined. Then, in step 604 a grid-based approach is used to divide the (τ,ν) plane into bins. An iterative sequence follows. In step 606 G and S matrices (associated with the delay and Doppler effects respectively) are constructed as described in more detail below with reference to equations (30) to (32). In step 608 a correlator output metric is determined using equation (32). In step 610 the channel modeller identifies the P largest peaks in the correlator metric.

Let Ĥ be a noisy estimate obtained from Y given knowledge of X, i.e.

Ĥ=H+{circumflex over (Z)}.  (28)

where {circumflex over (Z)} is additive noise, not necessarily Gaussian, e.g. if Ĥ=Y⊙X is the zero-forcing estimate, then {circumflex over (Z)}=Z⊙X* is not necessarily Gaussian. The correlator approach computes the following metric,

ψ(τ, ν)=s ^(t)(ν)Ĥg ^(t)(τ),  (29)

where s(ν) is a L×1 column vector, whose lth element is given by s_(l)(ν)=e^(−j2πνT) ^(d) ^(l), l=0, . . . , L−1, and g(τ) is a l×K column vector whose kth element is given by g_(k)(τ)=e^(−j2πkτ/T).

To implement the correlator estimator we evaluate (29) over a region of the (τ, ν)-plane and take the P largest peaks. In particular, we use a grid based approach, i.e. we divide the region into discrete bins. Let M and N denote the number of delay and Doppler bins respectively. Let (τ_(min), τ_(max)) and (ν_(min), ν_(max)) denote the delay and Doppler region. Let {circumflex over (τ)}_(m) and {circumflex over (ν)}_(n) denote bin m, n of the delay-Doppler region, i.e.

$\begin{matrix} {{\hat{\tau}}_{m} = {\tau_{\min} + {m\frac{\tau_{\max} - \tau_{\min}}{M}}}} & (30) \\ {{\hat{v}}_{n} = {v_{\min} + {n{\frac{v_{\max} - v_{\min}}{N}.}}}} & (31) \end{matrix}$

for m=0, . . . , M−1 and n=0, . . . , N−1. Let Ŝ and Ĝ denote the matrices constructed using the above bins, i.e. Ŝ_(l,n)=^(−j2πν) ^(n) ^(T) ^(d) and Ĝ_(m,k)=e^(−j2πkt) ^(m) ^(/T). The correlator output can be computed via the matrix multiplication,

ψ=Ŝ^(t)ĤĜ^(t).  (32)

The estimator then picks the {circumflex over (P)} largest peaks. Note that there is some similarity between (32) and the 2D DFT. Complexity reduction may be possible in computing (32) by taking advantage of the fast Fourier transform (FFT).

To investigate the correlator estimator from (27) we have,

$\begin{matrix} \begin{matrix} {{\phi \left( {\tau,v} \right)} = {{\sum\limits_{p,k,l}{a_{p}^{{- j}\; 2{\pi(\; {v_{p} - v})}}^{{- j}\; 2\pi \; {({\tau_{p} - \tau})}}}} + {{s^{\dagger}(v)}\hat{Z}\; {g^{\dagger}(\tau)}}}} \\ {{= {{\sum\limits_{p}{a_{p}{A_{x}\left( {{\tau - \tau_{p}},{v_{p} - v}} \right)}}} + {{s^{\dagger}(v)}\hat{Z}\; {g^{\dagger}(\tau)}}}},} \end{matrix} & (33) \end{matrix}$

i.e. the output correlator metric is the sum of complex scaled versions of the transmit signal ambiguity function. Hence we see that correlator estimator performance of method 600 is affected by sidelobes of the ambiguity function, which may cause false and miss detections. Although method 600 has relatively low complexity, it may suffer from missed and false channel detection due to the sidelobes in the ambiguity function. In particular, for strong line of sight (LOS) channels, the peaks corresponding to weaker channel taps may be hidden by the sidelobes of the LOS component.

2.2. Method 630—Estimation via successive multipath cancellation

From (27) we see that H_(l,k) is the sum of a sparse number of points. This suggests that the use of sparse estimation techniques may be beneficial in terms of reducing complexity with relatively low loss in performance. One approach is method 630 shown in FIG. 6B. This uses an orthogonal matching pursuit (OMP) algorithm to provide an iterative algorithm that successively removes previously-estimated multipath components from the original channel estimates as they are detected. A basis pursuit algorithm can also be used in the iterative process of removing previously-estimated multipath components. Method 630 takes advantage of the simplified signal derivations given above in equations (1) to (25) and allows the detection of components that would otherwise be hidden by erroneous sidelobes.

Let {circumflex over (τ)}_(p), {circumflex over (ν)}_(p) be 1×p vectors of delay and Doppler estimates respectively.

Let S({circumflex over (ν)}_(p))=(s({circumflex over (ν)}₁) . . . s({circumflex over (ν)}_(p))) and G({circumflex over (Σ)}_(p))=(g ^(t)({circumflex over (τ)}₁) . . . g ^(t)({circumflex over (τ)}_(p)))^(t) denote the corresponding matrices

The estimation of the complex gain vector α_(p) involves finding the solution to

$\begin{matrix} {{{\hat{a}}_{p} = {\arg \; {\min\limits_{a_{p}}{{\hat{H} - {{S\left( {\hat{v}}_{p} \right)}{{diag}\left( a_{p} \right)}{G\left( {\hat{\tau}}_{p} \right)}}}}^{2}}}},} & (34) \end{matrix}$

which can be shown to be

{circumflex over (α)}_(p) =R _(p) ⁻¹ w _(p).  (35)

where w_(p) is a p×1 column vector that is computed recursively using,

$\begin{matrix} {w_{p} = {\begin{pmatrix} w_{p - 1} \\ {\sum\limits_{l = 0}^{L - 1}{\sum\limits_{k = 0}^{K - 1}{{\hat{H}}_{l,k}{g_{k}^{*}\left( {\hat{\tau}}_{p} \right)}{s_{l}^{*}\left( {\hat{v}}_{p} \right)}}}} \end{pmatrix} = {\begin{pmatrix} w_{p - 1} \\ {{s^{\dagger}\left( {\hat{v}}_{p} \right)}\hat{H}\; {g^{\dagger}\left( {\hat{\tau}}_{p} \right)}} \end{pmatrix}.}}} & (36) \end{matrix}$

The p×p matrix R_(p) is also computed recursively, i.e.

$\begin{matrix} {R_{p} = {\begin{pmatrix} R_{p - 1} & r^{\dagger} \\ r & {KL} \end{pmatrix}.}} & (37) \end{matrix}$

where r is a 1×p−1 row vector whose nth element, n=1, . . . , p−1, is given by

$\begin{matrix} \begin{matrix} {\tau_{n} = {\sum\limits_{l = 0}^{L - 1}{\sum\limits_{k = 0}^{K - 1}{{g_{k}^{*}\left( {\hat{\tau}}_{p} \right)}{g_{k}\left( {\hat{\tau}}_{n} \right)}{s_{l}^{*}\left( {\hat{v}}_{p} \right)}{s_{l}\left( {\hat{v}}_{n} \right)}}}}} \\ {= {{g\left( {\hat{\tau}}_{n} \right)}{g^{\dagger}\left( {\hat{\tau}}_{p} \right)}\left( {{s^{\dagger}\left( {\hat{v}}_{n} \right)}{s\left( {\hat{v}}_{p} \right)}} \right)^{*}}} \\ {= {^{{- j}\; {\pi {({L - 1})}}{({{\hat{v}}_{n} - {\hat{v}}_{p}})}T_{d}}{^{{- {{j\pi}{({K - 1})}}}{{({{\hat{\tau}}_{n} - {\hat{\tau}}_{p}})}/T}}(39)}}} \\ {{\frac{\sin \left( {\pi \; {L\left( {{\hat{v}}_{n} - {\hat{v}}_{p}} \right)}T_{d}} \right)}{\sin \left( {\pi \; \left( {{\hat{v}}_{n} - {\hat{v}}_{p}} \right)T_{d}} \right)}{\frac{\sin \left( {\pi \; {{K\left( {{\hat{\tau}}_{n} - {\hat{\tau}}_{p}} \right)}/T}} \right)}{\sin \left( {{\pi\left( \; {{\hat{\tau}}_{n} - {\hat{\tau}}_{p}} \right)}/T} \right)}.}}} \end{matrix} & (38) \end{matrix}$

A detailed description of method 630 is given in algorithm 1.

Algorithm 1 Estimation via successive multipath cancellation.  1: Δ₀ = Ĥ  2: p = 1  3: while ∥Δ_(p−1)∥² > a and p ≦ P_(max) do  4:  ({circumflex over (τ)}_(p), {circumflex over (v)}_(p)) = arg max_(τ,y) |s^(†) (v)Δ_(p−1)g^(†)(τ)|  5:  if p > 1 then  6:   Compute R_(p) and w_(p) recursively using (37) and (36)  7:  else  8:   R₁ = KL  9:   w₁ = s^(†)({circumflex over (v)}₁)Ĥg^(†)({circumflex over (τ)}₁) 10:  end if 11:   â_(p) = R_(p) ⁻¹w_(p). 12:  Δ_(p) = Δ_(p−1) − a_(p)s({circumflex over (v)}_(p))g({circumflex over (τ)}_(p)) 13:  p = p + 1 14: end while

As summarised in FIG. 6B, the input to method 630 is a channel estimate H. Method 630, commencing in step 632, performs an iteration over detected multipath components p, up to a maximum value of P_(max).

For the current multipath component, a correlation metric is calculated to provide an estimate of the delay and Doppler in step 634 (see point 4. of algorithm 1). This may be determined using the 2-dimensional bisection approach described below in algorithm 3.

Then, in step 636 the time-domain channel modeller 114 constructs an R matrix and w vector for a least squares optimisation on the current multipath component p (see points 5. to 9. of algorithm 1). In step 638 the modeller 114 determines the estimate for the complex gain of the current multipath component p using the constructed R and w. In step 640 the detected multipath component is removed from the residual signal.

3. Iterative Refinement

The inventors have observed that the estimates produced by method 630 may be affected by components that have not been removed. This may lead to some degradation in the delay/Doppler resolution. Method 650 of FIG. 6C may be used to refine a set of estimated multipath components by removing all previously estimated multipath components except for a component of interest.

The input to method 650 is a set of p multipath estimates, for example a set of estimates 652 generated by the modeller 114 using method 630. In step 654 a first iteration is commenced that continues while the criterion set out in point 5 of algorithm 2 below is satisfied. For each of these outer iterations, a further set of iterations commences in step 656, stepping through each of the multipath component estimates in the set p. In step 658 all multipath components are removed except for the component of current interest. Then in step 660 the correlation approach is used .to refine the delay and Doppler estimates for the component of current interest. Then a least-squares optimisation refines the estimate of the complex gain for the component of current interest in step 662. Process flow returns to step 656 to step through the remaining estimates.

Once the loop of steps 656-662 is complete, the iteration criterion is updated in step 664 and process flow returns to step 654 to continue the iterative process if appropriate.

More detail on method 650 is shown in algorithm 2 as follows:

Note that in line 7 of algorithm 2, q denotes all elements excluding element q.

Algorithm 2 Estimate refinement algorithm.  1: Given p >1 estimates, {circumflex over (τ)}, {circumflex over (v)} and â.  2: Set Δ₁ = Ĥ − S({circumflex over (v)})diag(â)G({circumflex over (τ)}).  3: Set ∥Δ₀∥² = ∞  4: i = 1  5: while |∥Δ_(i)∥² − ∥Δ¹⁻¹∥²| > ε and i ≦ N_(iter) do  6:  for q = 1 to p do  7:   Δ_(q) = Ĥ − S({circumflex over (v)}_(q))diag(â_(q))G({circumflex over (τ)}_(q)).  8:   ({circumflex over (τ)}_(q), {circumflex over (v)}_(q)) = arg max_(τ,v) |s^(†)(v)Δ_(q)g^(†)(τ)|.  9:    Recursively create w and R. 10:    â = R⁻¹w 11:   end for 12:  i = i + 1 13:   Δ_(i) = Ĥ − S({circumflex over (v)})diag(â)G({circumflex over (τ)}) 14: end while

To perform the maximisation step in line 4 of algorithm 1 and line 8 of algorithm 2, the time domain channel modeller 114 may use the 2-D bisection approach as described in algorithm 3 below.

In its most naive implementation, algorithm 3 has a complexity of ML(N+K) complex multiply-accumulates per iteration. The complexity of line 14 may be reduced by exploiting the radix-2 algorithm.

Algorithm 3 2D Bisection Algorithm.  1: Given the initial delay search window: τ_(min), τ_(max).  2: Given the initial Doppler search window: ν_(min), ν_(max).  3: Given number of delay and Doppler bins: M > 1 and N > 1 respectively.  4: Given the search window overlap factor: β > 0.  5: Given the error difference threshold: ε > 0.  6: Given the maximum number of iterations: N_(Iter).  7: Set i = 0, μ⁻¹ = ∞ and μ_(o) = 0.  8: while |μ_(i−1) − μ_(i)| > ε and i < N_(Iter) do  9: ${{Determine}\mspace{14mu} {delay}\mspace{14mu} {resolution}},{{\Delta\tau} = {\frac{\tau_{\max} - \tau_{\min}}{M}.}}$ 10: ${{Determine}\mspace{14mu} {Doppler}\mspace{14mu} {resolution}},{{\Delta\nu} = {\frac{\nu_{\max} - \nu_{\min}}{N}.}}$ 11: Construct delay bins, {circumflex over (τ)}_(m) = τ_(min) + mΔτ, for m = 0, . . . , M − 1. 12: Construct Doppler bins, {circumflex over (ν)}_(n) = ν_(min) + nΔν, for n = 0, . . . , N − 1. 13: Construct matrices G({circumflex over (τ)}) and S({circumflex over (ν)}). 14: Compute Ψ = GY^(†)S. 15: Find largest magnitude squared value of Ψ and its indices, i.e. μ_(i+1) = max_(m,n)|Ψ_(m,n)|² and (m*, n*) = arg max_(m,n)|Ψ_(m,n)|². 16: Update delay window, i.e. τ_(min) = {circumflex over (τ)}_(m*) − βΔτ and τ_(max) = {circumflex over (τ)}_(m*) + βΔτ. 17: Update Doppler window, i.e. ν_(min) = {circumflex over (ν)}_(n*) − βΔν and ν_(max) = {circumflex over (ν)}_(n*) + βΔν. 18: i = i + 1 19: end while

4. Performance Evaluation

To examine the performance of our estimation algorithm, we conducted a comprehensive set of Monte Carlo simulations. The assumption is made that P is known a-priori and that the multipath components are sufficiently separated to minimise false/miss detects due to the delay/Doppler resolution.

In all simulations, we assume an OFDM signal similar to the IEEE802.11 standard, with K=64 and 52 active subcarriers, a subcarrier spacing of 156:250 kHz and an OFDM symbol period of 8 μsec.

In these simulation results we assume the number of taps P is known a-priori. Only P iterations of algorithm 1 are performed and the detected taps are subsequently refined using algorithm 2. For each trial the delay/Doppler are drawn randomly, but not independently and identically distributed (i.i.d.). For each trial we chose a vector of P delays by continually drawing a vector P delays from an i.i.d. uniform distribution on the interval (τ_(min)·τ_(max)) until the minimum distance between the delays is greater than Δτ. The delays are then re-arranged in ascending order. Similarly for the Doppler offsets, however no sorting is performed. This allows us to generate the delay and Doppler offset of each tap randomly whilst maintaining a minimum delay/Doppler resolution. Note that Δτ≦(τ_(max)−τ_(min))/P and similarly Δν≦(ν_(max)−ν_(min))/P.

To ensure that the estimator performance is not dominated by the delay/Doppler bin resolution we first consider the P=1 case and compare the root mean squared (RMS) error with the Cramer-Rao lower bound (CRLB) of a 2-D sinusoid in AWGN, i.e. let r(m, n)=A exp [−j(w₁l+w₂k)]+z(m,n), for l=0, . . . L−1 and k=0, . . . K−1, where z(m,n)˜

(0,σ²). Then

$\begin{matrix} {{{var}\left\lbrack {\hat{w}}_{1} \right\rbrack} \geq {\frac{6}{{KL}\left( {L^{2} - 1} \right)}\frac{\sigma^{2}}{A^{2}}}} & (40) \\ {{{var}\left\lbrack {\hat{w}}_{2} \right\rbrack} \geq {\frac{6}{{KL}\left( {K^{2} - 1} \right)}{\frac{\sigma^{2}}{A^{2}}.}}} & (41) \end{matrix}$

For P=1, algorithm 1 is the ML estimator of a 2-D sinusoid in AWGN. To observe this we set (τ_(min), τ_(max))=(0,200) nsec and (ν_(min), ν_(max))=(−500, 500) Hz. Results of the simulations are shown in FIG. 7, in which a single-tap estimation root-mean-square (RMS) error for the present estimation techniques (shown in solid circles) is compared to the CR lower bound shown as a dashed line. K=52. The upper curves are for L=128, the middle curves are for L=256 and the bottom curves are for L=512. For the single tap channel the RMS error is very low, e.g. at an SNR of 20 dB with L=256 the RMS delay/Doppler errors are approximately 0.4 nsec and 3.5 Hz respectively.

Now we consider a P=3 tap channel with power delay profile |α₁|²=−0.54, |α₂|²=−10.54 and |α₃|²=15.54 dB. The phase of each tap was chosen uniformly random on (0.2π).

FIG. 8 shows the results of a simulation for the 3-tap estimation. Again, the dashed lines show the CRLB. The solid lines with squares indicate the performance of algorithm 1 only.

Solid lines with circles show the performance of algorithm 1 followed by an application of the refinement algorithm 2 after 20 iterations. It can be seen that the refinement provides a noticeable improvement in accuracy.

For each trial, RMS error statistic's were only collected when all taps are detected, i.e. each tap is closest (in Euclidean distance) to a single estimate. It is possible for a particular tap to be closest to two or more estimated taps. These events are counted as miss-detections, but are not included in the RMS error statistics.

It will be understood that the invention disclosed and defined in this specification extends to all alternative combinations of two or more of the individual features mentioned or evident from the text or the drawings. All these different combinations constitute various alternative aspects of the invention.

The parameter estimation described herein has many applications. In one application the estimates of path delays and Dopplers provides a means of characterising a reflective environment of the communication channel. This approach may, for example, be used in Dedicated Short Range Communications (DSRC) systems. Methods for environment estimation in a wireless communication system are described, for example, in a commonly assigned PCT application PCT/AU2010/000768 claiming priority from Australian provisional application 2009902848 filed 19 Jun. 2009.

It will also be understood that the term “comprises” and its grammatical variants as used in this specification is equivalent to the term “includes” and should not be taken as excluding the presence of other elements or features.

Appendix: Derivation of Gain Vector Solution

The following derivation is for the equation used in line 10 of algorithm 2 and line 11 of algorithm 1 (Eq. 35).

We require the solution to

$\begin{matrix} {{\hat{a}}_{p} = {\arg \; {\min\limits_{a_{p}}{{{\hat{H} - {{S\left( {\hat{v}}_{p} \right)}{{diag}\left( a_{p} \right)}{G\left( {\hat{\tau}}_{p} \right)}}}}^{2}.}}}} & (42) \end{matrix}$

First, we rewrite the problem as a least-squares optimisation problem,

$\begin{matrix} {{\hat{a}}_{p} = {\arg \; {\min\limits_{a_{p}}{{{{{vec}\left( \hat{H} \right)} - {\Omega_{p}a_{p}}}}^{2}.}}}} & (43) \end{matrix}$

where vec(M) denotes the vectorize operation, i.e. stacking the columns of the matrix M, and Ω_(p) is the KL×p matrix,

$\begin{matrix} {\Omega_{p} = {\begin{pmatrix} {{g_{0}\left( {\hat{\tau}}_{1} \right)}{s_{0}\left( {\hat{v}}_{1} \right)}} & \ldots & {{g_{0}\left( {\hat{\tau}}_{p} \right)}{s_{0}\left( {\hat{v}}_{p} \right)}} \\ {{g_{1}\left( {\hat{\tau}}_{1} \right)}{s_{0}\left( {\hat{v}}_{1} \right)}} & \ldots & {{g_{1}\left( {\hat{\tau}}_{p} \right)}{s_{0}\left( {\hat{v}}_{p} \right)}} \\ \vdots & \ldots & \vdots \\ {{g_{K - 1}\left( {\hat{\tau}}_{1} \right)}{s_{0}\left( {\hat{v}}_{1} \right)}} & \ldots & {{g_{K - 1}\left( {\hat{\tau}}_{p} \right)}{s_{0}\left( {\hat{v}}_{p} \right)}} \\ \vdots & \ldots & \vdots \\ {{g_{0}\left( {\hat{\tau}}_{1} \right)}{s_{1}\left( {\hat{v}}_{1} \right)}} & \ldots & {{g_{0}\left( {\hat{\tau}}_{p} \right)}{s_{1}\left( {\hat{v}}_{p} \right)}} \\ {{g_{1}\left( {\hat{\tau}}_{1} \right)}{s_{1}\left( {\hat{v}}_{1} \right)}} & \ldots & {{g_{1}\left( {\hat{\tau}}_{p} \right)}{s_{1}\left( {\hat{v}}_{p} \right)}} \\ \vdots & \ldots & \vdots \\ {{g_{K - 1}\left( {\hat{\tau}}_{1} \right)}{s_{1}\left( {\hat{v}}_{1} \right)}} & \ldots & {{g_{K - 1}\left( {\hat{\tau}}_{p} \right)}{s_{1}\left( {\hat{v}}_{p} \right)}} \\ \vdots & \ldots & \vdots \\ {{g_{K - 1}\left( {\hat{\tau}}_{1} \right)}{s_{L - 1}\left( {\hat{v}}_{1} \right)}} & \ldots & {{g_{K - 1}\left( {\hat{\tau}}_{p} \right)}{s_{L - 1}\left( {\hat{v}}_{p} \right)}} \end{pmatrix}.}} & (44) \end{matrix}$

The analytic solution to the least-squares problem (43) is well known [19],

{circumflex over (α)}_(p)=(Ω_(p) ⁵Ω_(p))⁻¹Ω^(t)vec({circumflex over (H)}).

We now let R_(p)=Ω_(p) ⁵Ω_(p), which is a p×p matrix whose m, nth element is given by

$\begin{matrix} \begin{matrix} {\left( R_{p} \right)_{m,n} = {\sum\limits_{l = 0}^{L - 1}{\sum\limits_{k = 0}^{K - 1}{{g_{k}^{*}\left( {\hat{\tau}}_{m} \right)}{s_{l}^{*}\left( {\hat{v}}_{m} \right)}{g_{k}\left( {\hat{\tau}}_{n} \right)}{s_{l}\left( {\hat{v}}_{n} \right)}}}}} \\ {= {^{{- j}\; {\pi {({L - 1})}}{({{\hat{v}}_{n} - {\hat{v}}_{m}})}T_{d}}{^{{- {{j\pi}{({K - 1})}}}{{({{\hat{\tau}}_{n} - {\hat{\tau}}_{m}})}/T}}(47)}}} \\ {{\frac{\sin \left( {\pi \; {L\left( {{\hat{v}}_{n} - {\hat{v}}_{m}} \right)}T_{d}} \right)}{\sin \left( {\pi \; \left( {{\hat{v}}_{n} - {\hat{v}}_{m}} \right)T_{d}} \right)}\frac{\sin \left( {\pi \; {{K\left( {{\hat{\tau}}_{n} - {\hat{\tau}}_{m}} \right)}/T}} \right)}{\sin \left( {{\pi\left( \; {{\hat{\tau}}_{n} - {\hat{\tau}}_{m}} \right)}/T} \right)}}} \\ {\approx {{KL}\; ^{{- j}\; {\pi {({L - 1})}}{({{\hat{v}}_{n} - {\hat{v}}_{m}})}T_{d}}{^{{- {{j\pi}{({K - 1})}}}{{({{\hat{\tau}}_{n} - {\hat{\tau}}_{m}})}/T}}(48)}}} \\ {{\sin \; {c\left( {\pi \; {L\left( {{\hat{v}}_{n} - {\hat{v}}_{m}} \right)}T_{d}} \right)}\sin \; {{c\left( {\pi \; {{K\left( {{\hat{\tau}}_{n} - {\hat{\tau}}_{m}} \right)}/T}} \right)}.}}} \end{matrix} & (46) \end{matrix}$

and ω_(p)=Ω^(t)vec(Ĥ) is a column vector whose mth component is given by

$\begin{matrix} {\left( w_{p} \right)_{m} = {\sum\limits_{l = 0}^{L - 1}{\sum\limits_{k = 0}^{K - 1}{{\hat{H}}_{l,k}{g_{k}^{*}\left( {\hat{\tau}}_{m} \right)}{{s_{l}^{*}\left( {\hat{v}}_{m} \right)}.}}}}} & (49) \end{matrix}$ 

1. A method of estimating a time-varying multipath communication channel, the method comprising: receiving a signal comprising a data packet transmitted over the multipath communication channel; and, from the received signal generating an estimate of tap parameters in a model of the multipath communication channel, the model characterising the multipath communication channel as a delay line with a plurality of taps, each tap having tap parameters for estimation defining a delay, a Doppler and a complex gain for the tap, wherein the estimated tap parameters are constant for the data packet.
 2. The method of claim 1 wherein the data packet is an orthogonal frequency division multiplex (OFDM) packet.
 3. A method of estimating a time-varying multipath communication channel, the method comprising: receiving a frequency-domain channel estimate of the multipath communication channel, the frequency-domain estimate deriving from the data packet transmitted over the multipath communication channel; and, based on the frequency-domain estimate generating an estimate of tap parameters in a time-domain model of the multipath communication channel, the time-domain model characterising the multipath communication channel as a delay line with a plurality of taps, each tap having tap parameters defining a delay, a Doppler and a complex gain for the tap, wherein the estimated tap parameters are constant for the data packet.
 4. The method of claim 3 wherein said generating the estimate of tap parameters comprises: defining a search window for the delay and Doppler tap parameters; dividing the search window into a plurality of bins; determining a correlator metric for the respective bins; identifying one or more peaks in the determined correlator metrics; and outputting estimates of the delay and Doppler tap parameters based on the identified peaks.
 5. The method of claim 3 wherein said generating the estimate of tap parameters comprises: estimating the delay and Doppler tap parameters for a detected multipath component; performing a least-squares estimation to generate an estimate of the gain tap parameter for the detected multipath component; and subtracting the detected multipath component from the channel estimate, using the estimated delay, Doppler and gain tap parameters to quantify the detected multipath component.
 6. The method of claim 5 wherein said estimating, least-squares estimation and subtraction are repeated to iteratively remove detected multipath components from the channel estimate.
 7. The method of claim 3 further comprising a method of refining an estimate of the time-domain model of the multipath communication channel, said refining comprising: subtracting all of the plurality of multipath components from the estimate of the multipath communication channel except for a currently-considered multipath component; generating a refined estimate of the delay tap parameter and the Doppler tap parameter for the currently-considered multipath component; and performing a least-squares estimation to generate a refined estimate of the gain tap parameter for the currently-considered multipath component.
 8. The method of claim 7 wherein said refining is repeated to generate refined estimates for the plurality of multipath components.
 9. The method according to claim 1 wherein generating the estimate of tap parameters uses an ambiguity function.
 10. The method of claim 9 wherein the ambiguity function is described by the following equation: ${A_{x}\left( {\tau,v} \right)} \approx {\frac{1}{KL}^{{- {j2\pi}}{\lfloor{K/2}\rfloor}{\tau/T}}^{{{- {{j\pi}{({L - 1})}}}{vT}_{d}})}\frac{\sin \left( {\pi \; \tau \; {K/T}} \right)}{\sin \left( {\pi \; {\tau/T}} \right)}\frac{\sin \left( {\pi \; {vT}_{d}L} \right)}{\sin \left( {\pi \; {vT}_{d}} \right)}}$
 11. The method of claim 1 further comprising: providing the channel estimate to a radar application for target detection and/or localisation.
 12. The method of claim 1 further comprising: providing the channel estimate to a signal communication processor for channel characterisation and/or processing of the received signal.
 13. The method of claim 7 further comprising: providing the refined estimates to a radar application for target detection and/or localisation.
 14. The method of claim 7 further comprising: providing the refined estimates to a signal communication processor for channel characterisation and/or processing of the received signal.
 15. The method of claim 1 further comprising: characterising a reflective environment of the communication channels based on the time-domain model of the multipath communication channel
 16. The method of claim 3 further comprising determining the frequency domain estimate, said determining comprising: estimating data from the data packet; and using the data as pilot symbols to obtain the frequency domain estimate from a signal received over the multipath communication channel.
 17. A computer program product comprising machine-readable program code recorded on a non-transitory machine-readable recording medium, for controlling the operation of a data processing apparatus on which the program code executes to perform the method of claim
 1. 18. A non-transitory computer readable medium including instructions for: receiving a frequency-domain channel estimate of the multipath communication channel, the frequency-domain estimate deriving from the data packet transmitted over the multipath communication channel; and, based on the frequency-domain estimate generating an estimate of tap parameters in a time-domain model of the multipath communication channel, the time-domain model characterising the multipath communication channel as a delay line with a plurality of taps, each tap having tap parameters defining a delay, a Doppler and a gain for the tap, wherein the estimated tap parameters are constant for the data packet.
 19. The non-transitory computer readable medium of claim 18 further including instructions for: defining a search window for the delay and Doppler tap parameters; dividing the search window into a plurality of bins; determining a correlator metric for the respective bins; identifying one or more peaks in the determined correlator metrics; and outputting estimates of the delay and Doppler tap parameters based on the identified peaks.
 20. The non-transitory computer readable medium of claim 18 further including instructions for: estimating a delay and Doppler tap parameter for a detected multipath component; performing a least-squares estimation to generate an estimate of the gain tap parameter for the detected tap; and subtracting the detected multipath component from the channel estimate, using the estimated delay, Doppler and gain tap parameters to quantify the detected multipath component.
 21. The non-transitory computer readable medium of claim 20 further including instructions for: repeating the estimating, least-squares estimation and subtraction to iteratively remove respective multipath components from the channel estimate.
 22. The non-transitory computer readable medium of claim 18 further including instructions for: subtracting all of the plurality of multipath components from the estimate of the multipath communication channel except for a currently-considered multipath component; generating a refined estimate of the delay tap parameter and the Doppler tap parameter for the currently-considered multipath component; and performing a least-squares estimation to generate a refined estimate of the gain tap parameter for the currently-considered multipath component.
 23. The non-transitory computer readable medium of claim 22 further including instructions for: repeating the steps of subtracting, generating a refined estimate and performing a least-squares estimate as defined in claim 16 to generate refined estimates for the plurality of multipath components.
 24. A system for estimating a time-varying multipath communication channel, the system comprising: a receiver for receiving a signal comprising a data packet transmitted over the multipath communication channel; a frequency-domain channel estimator that generates a frequency-domain channel estimate based on the received signal; and a time-domain channel modeller that receives the frequency-domain channel estimate and generates an estimate of parameters in a time-domain model of the multipath communication channel, the model characterising the multipath communication channel as a delay line with a plurality of taps, each tap having tap parameters defining a delay, a Doppler and a gain for the tap, wherein the tap parameters are constant over the data packet.
 25. An apparatus for estimating a time-varying multipath communication channel based on a signal comprising a plurality of multipath components, the signal associated with a data packet, and based on a frequency-domain channel estimate deriving from the data packet, the apparatus comprising: a time-domain channel modeller that receives the channel estimate and generates an estimate of tap parameters in a time-domain model of the multipath communication channel, the model characterising the multipath components according to the tap parameters, the tap parameters defining a delay, a Doppler and a gain for the multipath components, wherein the tap parameters are constant over the data packet. 